Tries to get a shared lock on a signal semaphore. If the lock cannot
be obtained false is returned. There may be more than one shared lock
at a time but an exclusive lock prevents all other locks. The lock
must be released with ReleaseSemaphore().
INPUTS
sigSem
pointer to semaphore structure
RESULT
True if the semaphore could be obtained, false otherwise.